package com.wxmit.module.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 *
 * SysUserColumnSetting
 * @author huangxiong
 * @version V1.0
 * @date 2022/12/5 15:48
 */

@Data
@TableName(value="sys_column_setting",autoResultMap = true)
public class SysColumnSetting {

    @TableId(type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     *  用户id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /**
     *  （前端路由）地址
     */
    @NotNull(message = "地址不能为空")
    private String path;

    /**
     *  列名
     */
    @NotNull(message ="列名不能为空")
    private String name;

    /**
     *  是否展示
     */
    private String visible;

    /**
     *  排序，升序
     */
    private Integer sort;

    /**
     *  列宽。
     *  使用string 是为了兼容小数点，前端传入什么，后台就存什么
     */
    private String width;
//    /**
//     *  设置
//     */
//    @TableField(typeHandler = StringListTypeHandler.class)
//    @NotNull(message = "设置不能为空")
//    private List<String> setting;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  hh:mm",timezone="GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm",timezone="GMT+8")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}
